#pragma once


struct XVERTEX25D
{
public: 
	XFLOAT x;
	XFLOAT y;
	XFLOAT uOverW;
	XFLOAT vOverW;
	XFLOAT oneOverW;
	XVERTEX25D(const struct XVERTEX25D & other);
	XVERTEX25D(XFLOAT xScreen, XFLOAT yScreen, XFLOAT uTexture, XFLOAT vTexture, XFLOAT w);
	XVERTEX25D();
	void SetToIdentity();
	XBOOL IsIdentity() const;
	XFLOAT u() const;
	XFLOAT v() const;
	XFLOAT w() const;
	void ScaleToFixPointRange(XFLOAT);
	void operator*=(const XDOUBLE d);
	void operator/=(const XDOUBLE d);
	struct XVERTEX25D operator-(const struct XVERTEX25D & other) const;
	struct XVERTEX25D operator+(const struct XVERTEX25D & other) const;
	struct XVERTEX25D operator*(const XFLOAT rScale) const;
};
